package cn.blnp.net.flowable.event.start.conditions;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * <h3>开始事件-条件开始事件</h3>
 *
 * @author <a href="mailto:blnp.yibin@qq.com">lyb</a>
 * @version 1.0
 * @since 2025/5/7 16:40
 */
@Slf4j
@SpringBootTest
public class ConditionsEventTest {

    /**
     *  <p>
     *      条件开始事件只能用于事件子流程。条件开始事件用于根据特定条件来启动子流程。当满足条件时，子流程会被启动并执行。
     *  </p>
     *  <pre>
     *      {@code
     *          <!-- 定义条件开始事件 -->
     *          <startEvent id="conditionalStartEvent">
     *              <conditionalEventDefinition>
     *                  <condition>${num>10}</condition>
     *              </conditionalEventDefinition>
     *          </startEvent>
     *      }
     *  </pre>
     *  <br/>
     *  <h2 style="color:red;">注意事项：</h2>
     *  <hr/>
     *  <ul>
     *      <li>
     *          在一个流程定义中的条件开始事件的条件必须是唯一的，即一个流程定义中不允许有多个条件开始事件引用相同的条件。如果多个条件开始事件包含相同的条件，则在部署流程时工作流引擎会抛出异常。
     *      </li>
     *      <li>
     *          在部署一个流程定义的新版本时，之前版本的条件订阅将会被取消。新版本中没有提供的条件事件也会被取消。条件开始事件用于事件子流程可以是可中断的，也可以是不可中断的。需要注意的是，事件子流程只能有一个开始事件。
     *      </li>
     *  </ul>
     **/
    @Test
    public void test() {

    }
}
